package Codigos;


import java.util.Vector;

public class Seccion{
	protected Profesor tutorseccion;
	protected int numseccion;
	protected Vector<Alumno>ListaAlumno;

	
	public Seccion(int numseccion) {
		super();
	this.numseccion=numseccion;
	tutorseccion=null;
	ListaAlumno = new Vector<Alumno>();
	}

	
	public Profesor getTutorseccion() {
		return tutorseccion;
	}

	public void setTutorseccion(Profesor tutorseccion) {
		this.tutorseccion = tutorseccion;
	}

	public int getNumseccion() {
		return numseccion;
	}

	public void setNumseccion(int numseccion) {
		this.numseccion = numseccion;
	}

	public Vector<Alumno> getListaAlumno() {
		return ListaAlumno;
	}

	public void setListaAlumno(Vector<Alumno> listaAlumno) {
		ListaAlumno = listaAlumno;
	}
	
	public void InscribirAlumno(Alumno Estudiante) {
		
		ListaAlumno.add(Estudiante);

	}
	public void PresentarEvaluaciones(){

		int i;
		for(i=0;i<ListaAlumno.size();i++){
			ListaAlumno.elementAt(i).PresentarEvaluacion();
			tutorseccion.EvaluarAlumno(ListaAlumno.elementAt(i));
		}
	}
	
	public boolean RetirarAlumno(int ced){
		int cont=0,i=0;
		boolean encontrado=false;
	  while ((!encontrado) && (cont<ListaAlumno.size())) {
		if((ListaAlumno.elementAt(i).getCedula()==ced) && (ListaAlumno.elementAt(i).getNotafinal()==-1)){
			ListaAlumno.remove(i);
			return encontrado=true;
		}
			else
				 cont++;
			
		}
	  
	return encontrado=false;
		  
	  }


    public Alumno BuscarAlumno(int ced){
    	Alumno Estudiante;
		Estudiante=null;
		int i=0;
		boolean encontrado=false;
		while((!encontrado)&&(i<ListaAlumno.size())){
			if(ListaAlumno.elementAt(i).getCedula()==ced){
				encontrado=true;
				Estudiante=new Alumno();
				Estudiante=ListaAlumno.elementAt(i);
				System.out.println("Estudiante encontrado");
				return Estudiante;
				}
			else
				i++;
		}
		return Estudiante;
    }
    public Vector<Alumno> OrdenadosCedula(){
    	int i,j;
		for(i=0;i<ListaAlumno.size();i++){
			for(j=0;j<ListaAlumno.size()-1;j++){
				if(ListaAlumno.elementAt(j).getNotafinal()<ListaAlumno.elementAt(j+1).getNotafinal()){
					Alumno aux = new Alumno();
					aux=ListaAlumno.elementAt(j+1);
					ListaAlumno.setElementAt(ListaAlumno.elementAt(j),j+1);
					ListaAlumno.setElementAt(aux,j);
				}//fin del if
			}//fin del for-j
		}//fin del fori
		
		
		return ListaAlumno;
 }
   
 

	public Vector<Alumno> OrdenadosNotaFinal(){
		int i,j;
		for(i=0;i<ListaAlumno.size();i++){
			for(j=0;j<ListaAlumno.size()-1;j++){
				if(ListaAlumno.elementAt(j).getNotafinal()<ListaAlumno.elementAt(j+1).getNotafinal()){
					Alumno aux = new Alumno();
					aux=ListaAlumno.elementAt(j+1);
					ListaAlumno.setElementAt(ListaAlumno.elementAt(j),j+1);
					ListaAlumno.setElementAt(aux,j);
				}//fin del if
			}//fin del for-j
		}//fin del fori
		
		
		return ListaAlumno;
    	
    }
	
    public Vector<Alumno> ListaAprobados(){
    	int i;
		Vector<Alumno> ListaAprobados;
		ListaAprobados=new Vector<Alumno>();
		for(i=0;i<ListaAlumno.size();i++){
			if(ListaAlumno.elementAt(i).getStatus()=="Aprobado"){
				ListaAprobados.add(ListaAlumno.elementAt(i));
				//System.out.println("elemento agregado" +ListaAlumnos.elementAt(i).getEstatus() );
			}
		}
		
		return ListaAprobados;
    	
    }
    public Vector<Alumno> ListaAplazado(){
    	
    		int i;
    		Vector<Alumno> ListaAplazado;
    		ListaAplazado=new Vector<Alumno>();
    		for(i=0;i<ListaAlumno.size();i++){
    			if(ListaAlumno.elementAt(i).getStatus()=="Aplazado"){
    				ListaAplazado.add(ListaAlumno.elementAt(i));
    				//System.out.println("elemento agregado" +ListaAlumnos.elementAt(i).getEstatus() );
    			}
    		}
    		return ListaAplazado;
    	
    }
    public float PromedioNota(){
    	float acm=0;
    	int i;
		for(i=0;i<ListaAlumno.size();i++){
			acm+=ListaAlumno.elementAt(i).getNotafinal();
		}
		if(ListaAlumno.size()!=0){
			return acm/ListaAlumno.size();
		}
		else
	return 0;
    }
}
	